>Tom Lane wrote:
>> Hunter Hillegas <lists@lastonepicked.com> writes:
>> > We are installing postgres on a MacOS X Server...
>> > On our Linux box, we had to muddle with some parameters to be able to
>> > increase the shared memory and buffers in postgres.
>> > Does anyone know how to do this in OS X? Or is it required?
>>
>> In OS X 10.1, the max shared memory was a hardwired number that couldn't
>> be changed without recompiling the kernel --- and the standard setting
>> was none too darn large, either :-(. I dunno if Apple has improved
>> matters in 10.2.
>
>I was going to point him to the development docs, but I see no mention
>of OSX shared kernel limit tuning in there at all. Can someone submit
>info to beef it up for OSX?
Here are instructions for setting shared memory limits on Mac OS X 10.2.
Edit the file:
/System/Library/StartupItems/SystemTuning/SystemTuning
Near the bottom, you will see these lines:
sysctl -w kern.sysv.shmmax=4194304
sysctl -w kern.sysv.shmmin=1
sysctl -w kern.sysv.shmmni=32
sysctl -w kern.sysv.shmseg=8
sysctl -w kern.sysv.shmall=1024
These parameters are described in this document:
http://www.postgresql.org/idocs/index.php?kernel-resources.html
OS X is simialar to BSD/OS in the values for each parameter. For my system, I want PostgreSQL to use 128MB worth of
buffers. I used the calculations provided in the "Reasonable Values" column of the parameters table in the document
above.
So here are my settings (allowing a little extra room):
sysctl -w kern.sysv.shmmax=167772160 # bytes
sysctl -w kern.sysv.shmmin=1
sysctl -w kern.sysv.shmmni=32
sysctl -w kern.sysv.shmseg=8
sysctl -w kern.sysv.shmall=65536 # 4K pages
Now, I can set shared_buffers in postgresql.conf to:
shared_buffers = 16384 # number of buffers, 8K each
- Jeff
--
Jeff Bohmer
VisionLink, Inc.
_________________________________
303.402.0170
www.visionlink.org
_________________________________
People. Tools. Change. Community.